#pragma once

#include "IReferenceCounter.h"
#include "dimension2d.h"
#include "color.h"

namespace sol9
{
namespace graphics
{

	struct SRendererParameters
	{
		core::dimension2du nWindowSize;
		bool bFullscreen;

		SRendererParameters()
			: nWindowSize(), bFullscreen(false) {}
	};

	class IRenderer : public IReferenceCounter
	{
		__declareBaseClass(IRenderer);

	public:
		virtual bool initialize() = 0;

		virtual bool beginScene(color cColor = color(255, 0, 0, 0)) = 0;
		virtual bool endScene() = 0;
	};

} // namespace graphics
} // namespace sol9